/*
 * Auto generated C++ implementation for Mass Effect 2.
 *	by _silencer.
 */

#include "stdafx.h"
#include "unreal_game.h"

namespace game
{
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_PowerBonus, SFXGameEffect, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioWeaponPowerScript, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_AmmoPower, SFXGameEffect, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_IncendiaryAmmo, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_IncendiaryAmmo, SFXGameEffect_AmmoPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioCarnageScript, BioWeaponPowerScript, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_ConcussiveShot, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioConcussiveShotScript, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_DisruptorAmmo, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_DisruptorAmmo, SFXGameEffect_AmmoPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioOverloadScript, BioWeaponPowerScript, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioReactionPowerScript, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_PlayerMelee, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( BioPlayerMeleeScript, BioReactionPowerScript, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXDamageType_CombatDroneShock, SFXDamageType, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXDamageType_CryoAmmo, SFXDamageType, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_CryoAmmo, SFXGameEffect_AmmoPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPawn_EngineerCombatDrone, SFXPawn, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXGameEffect_OverheatWeapons, SFXGameEffect, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_AdrenalineRush, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_AdrenalineRush, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_AdrenalineRush_Evolved1, SFXPower_AdrenalineRush, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_AdrenalineRush_Evolved2, SFXPower_AdrenalineRush, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_AdrenalineRush_Soldier, SFXPower_AdrenalineRush, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CombatDroneAttack, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_CombatDroneAttack, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CombatDroneDeath, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_CombatDroneDeath, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CombatDroneShock, SFXPower_CombatDroneAttack, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXProjectile_Power_Seeking, SFXProjectile_Power, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXProjectile_Power_ConcussiveShot, SFXProjectile_Power_Seeking, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_ConcussiveShot_Heavy, SFXPower_ConcussiveShot, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_ConcussiveShot_Radius, SFXPower_ConcussiveShot, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_ConcussiveShot_Soldier, SFXPower_ConcussiveShot, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CryoAmmo, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_CryoAmmo, BioWeaponPowerScript, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CryoAmmo_Evolved1, SFXPower_CryoAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CryoAmmo_Evolved2, SFXPower_CryoAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_CryoAmmo_Soldier, SFXPower_CryoAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_IncendiaryAmmo_Soldier, SFXPower_IncendiaryAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_IncendiaryAmmo_Squad, SFXPower_IncendiaryAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_IncendiaryAmmo_Radius, SFXPower_IncendiaryAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_DisruptorAmmo_Heavy, SFXPower_DisruptorAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_DisruptorAmmo_Squad, SFXPower_DisruptorAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_DisruptorAmmo_Soldier, SFXPower_DisruptorAmmo, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_FirstAid, SFXPower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_FirstAid, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_PlayerMeleePistol, SFXPower_PlayerMelee, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_SoldierPassive, SFXPower_PassivePower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_PassivePower, BioPowerScriptDesign, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPowerScript_SoldierPassive, SFXPowerScript_PassivePower, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_SoldierPassive_Evolved1, SFXPower_SoldierPassive, SFXGameContent_Powers )
	IMPLEMENT_PACKAGE_CLASS( SFXPower_SoldierPassive_Evolved2, SFXPower_SoldierPassive, SFXGameContent_Powers )


	Bool BioWeaponPowerScript::ShouldUsePower( Actor* Caster, Actor* Target, String sOptionalInfo, Pawn* CasterAsPawn, SFXWeapon* Weapon, SFXModule_GameEffectManager* Manager, SFXGameEffect* Effect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.ShouldUsePower" );

		struct ShouldUsePowerParams
		{
			Actor* Caster; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
			String sOptionalInfo; //offset = 8, size = 12
			Bool ReturnValue: 1; //offset = 20, size = 4
			Pawn* CasterAsPawn; //offset = 24, size = 4
			SFXWeapon* Weapon; //offset = 28, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 32, size = 4
			SFXGameEffect* Effect; //offset = 36, size = 4
		} params;

		params.Caster = Caster;
		params.Target = Target;
		params.sOptionalInfo = sOptionalInfo;
		params.CasterAsPawn = CasterAsPawn;
		params.Weapon = Weapon;
		params.Manager = Manager;
		params.Effect = Effect;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioWeaponPowerScript::ApplyPowerEffects( BioPawn* oPawn, SFXWeapon* oWeapon )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.ApplyPowerEffects" );

		struct ApplyPowerEffectsParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXWeapon* oWeapon; //offset = 4, size = 4
		} params;

		params.oPawn = oPawn;
		params.oWeapon = oWeapon;

		this->call_function( function, &params, 0 );
	}

	Bool BioWeaponPowerScript::SetWeaponPower( BioPawn* oPawn, SFXWeapon* oWeapon, Bool bOverrideCurrentPower, SFXHeavyWeapon* oHeavyWeapon, SFXModule_GameEffectManager* Manager, SFXGameEffect_WeaponVFXChange* WeaponVFXEffect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.SetWeaponPower" );

		struct SetWeaponPowerParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXWeapon* oWeapon; //offset = 4, size = 4
			Bool bOverrideCurrentPower: 1; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
			SFXHeavyWeapon* oHeavyWeapon; //offset = 16, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 20, size = 4
			SFXGameEffect_WeaponVFXChange* WeaponVFXEffect; //offset = 24, size = 4
		} params;

		params.oPawn = oPawn;
		params.oWeapon = oWeapon;
		params.bOverrideCurrentPower = bOverrideCurrentPower;
		params.oHeavyWeapon = oHeavyWeapon;
		params.Manager = Manager;
		params.WeaponVFXEffect = WeaponVFXEffect;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioWeaponPowerScript::ReloadAmmoPower( BioPawn* Target, SFXWeapon* Weapon )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.ReloadAmmoPower" );

		struct ReloadAmmoPowerParams
		{
			BioPawn* Target; //offset = 0, size = 4
			SFXWeapon* Weapon; //offset = 4, size = 4
		} params;

		params.Target = Target;
		params.Weapon = Weapon;

		this->call_function( function, &params, 0 );
	}

	Bool BioWeaponPowerScript::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration, BioPawn* oCasterPawn, BioPawn* oSquadMember, BioBaseSquad* oSquad, Int Index )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
			BioPawn* oCasterPawn; //offset = 16, size = 4
			BioPawn* oSquadMember; //offset = 20, size = 4
			BioBaseSquad* oSquad; //offset = 24, size = 4
			Int Index; //offset = 28, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;
		params.oCasterPawn = oCasterPawn;
		params.oSquadMember = oSquadMember;
		params.oSquad = oSquad;
		params.Index = Index;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioWeaponPowerScript::ApplyToSquadMembers()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.ApplyToSquadMembers" );

		struct ApplyToSquadMembersParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Float BioWeaponPowerScript::GetDuration()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.GetDuration" );

		struct GetDurationParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Float BioWeaponPowerScript::GetElapsedTime()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.GetElapsedTime" );

		struct GetElapsedTimeParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioWeaponPowerScript::CanStartPower( Actor* oCaster, BioPawn* CasterAsPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioWeaponPowerScript.CanStartPower" );

		struct CanStartPowerParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
			BioPawn* CasterAsPawn; //offset = 8, size = 4
		} params;

		params.oCaster = oCaster;
		params.CasterAsPawn = CasterAsPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_AmmoPower::RemoveWeaponHologram()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.RemoveWeaponHologram" );

		this->call_function( function, 0, 0 );
	}

	void SFXGameEffect_AmmoPower::EnableWeaponHologram()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.EnableWeaponHologram" );

		this->call_function( function, 0, 0 );
	}

	void SFXGameEffect_AmmoPower::OnWeaponUnequip( SFXWeapon* Weapon )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnWeaponUnequip" );

		struct OnWeaponUnequipParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
		} params;

		params.Weapon = Weapon;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_AmmoPower::OnWeaponEquip( SFXWeapon* Weapon )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnWeaponEquip" );

		struct OnWeaponEquipParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
		} params;

		params.Weapon = Weapon;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_AmmoPower::OnWeaponReload( SFXWeapon* Weapon )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnWeaponReload" );

		struct OnWeaponReloadParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
		} params;

		params.Weapon = Weapon;

		this->call_function( function, &params, 0 );
	}

	Float SFXGameEffect_AmmoPower::GetDamageVocProbabilityMod()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.GetDamageVocProbabilityMod" );

		struct GetDamageVocProbabilityModParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_AmmoPower::OnWeaponImpact( SFXWeapon* Weapon, ImpactInfo Impact )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnWeaponImpact" );

		struct OnWeaponImpactParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
			ImpactInfo Impact; //offset = 4, size = 68
		} params;

		params.Weapon = Weapon;
		params.Impact = Impact;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_AmmoPower::OnRemoved( BioPawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnRemoved" );

		struct OnRemovedParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
		} params;

		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_AmmoPower::OnApplied()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_AmmoPower.OnApplied" );

		this->call_function( function, 0, 0 );
	}

	void SFXGameEffect_IncendiaryAmmo::CauseAnimatedReaction( Actor* oHitActor, Float fDelay, BioPawn* oPawn, SFXModule_GameEffectManager* Manager, SFXGameEffect_DelayedCustomAction* oEffect, Float Random )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_IncendiaryAmmo.CauseAnimatedReaction" );

		struct CauseAnimatedReactionParams
		{
			Actor* oHitActor; //offset = 0, size = 4
			Float fDelay; //offset = 4, size = 4
			BioPawn* oPawn; //offset = 8, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 12, size = 4
			SFXGameEffect_DelayedCustomAction* oEffect; //offset = 16, size = 4
			Float Random; //offset = 20, size = 4
		} params;

		params.oHitActor = oHitActor;
		params.fDelay = fDelay;
		params.oPawn = oPawn;
		params.Manager = Manager;
		params.oEffect = oEffect;
		params.Random = Random;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_IncendiaryAmmo::AddGameEffects( Actor* oTarget, Float fDuration, Float fDamagePerSecond, BioPawn* BPInstigator, SFXModule_GameEffectManager* Manager, SFXGameEffect_HeavyFireDamage* Effect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_IncendiaryAmmo.AddGameEffects" );

		struct AddGameEffectsParams
		{
			Actor* oTarget; //offset = 0, size = 4
			Float fDuration; //offset = 4, size = 4
			Float fDamagePerSecond; //offset = 8, size = 4
			BioPawn* BPInstigator; //offset = 12, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 16, size = 4
			SFXGameEffect_HeavyFireDamage* Effect; //offset = 20, size = 4
		} params;

		params.oTarget = oTarget;
		params.fDuration = fDuration;
		params.fDamagePerSecond = fDamagePerSecond;
		params.BPInstigator = BPInstigator;
		params.Manager = Manager;
		params.Effect = Effect;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_IncendiaryAmmo::DoEvolvedAoEImpact( ImpactInfo Impact, BioPawn* WeaponOwner, SFXWeapon* Weapon, BioPawn* oNearbyPawn, BioPawn* oPawn, BioPlayerSquad* oPlayerSquad, Int nImpactedCount, Float fDelay, Float fDamage, Float fAnimatedReactionChance )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_IncendiaryAmmo.DoEvolvedAoEImpact" );

		struct DoEvolvedAoEImpactParams
		{
			ImpactInfo Impact; //offset = 0, size = 68
			BioPawn* WeaponOwner; //offset = 68, size = 4
			SFXWeapon* Weapon; //offset = 72, size = 4
			BioPawn* oNearbyPawn; //offset = 76, size = 4
			BioPawn* oPawn; //offset = 80, size = 4
			BioPlayerSquad* oPlayerSquad; //offset = 84, size = 4
			Int nImpactedCount; //offset = 88, size = 4
			Float fDelay; //offset = 92, size = 4
			Float fDamage; //offset = 96, size = 4
			Float fAnimatedReactionChance; //offset = 100, size = 4
		} params;

		params.Impact = Impact;
		params.WeaponOwner = WeaponOwner;
		params.Weapon = Weapon;
		params.oNearbyPawn = oNearbyPawn;
		params.oPawn = oPawn;
		params.oPlayerSquad = oPlayerSquad;
		params.nImpactedCount = nImpactedCount;
		params.fDelay = fDelay;
		params.fDamage = fDamage;
		params.fAnimatedReactionChance = fAnimatedReactionChance;

		this->call_function( function, &params, 0 );
	}

	Float SFXGameEffect_IncendiaryAmmo::GetDamageVocProbabilityMod()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_IncendiaryAmmo.GetDamageVocProbabilityMod" );

		struct GetDamageVocProbabilityModParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_IncendiaryAmmo::OnWeaponImpact( SFXWeapon* Weapon, ImpactInfo Impact, BioPawn* oPawn, Actor* oHitActor, Float fExtraDamage, BioPawn* WeaponOwner, Float fAnimatedReactionChance )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_IncendiaryAmmo.OnWeaponImpact" );

		struct OnWeaponImpactParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
			ImpactInfo Impact; //offset = 4, size = 68
			BioPawn* oPawn; //offset = 72, size = 4
			Actor* oHitActor; //offset = 76, size = 4
			Float fExtraDamage; //offset = 80, size = 4
			BioPawn* WeaponOwner; //offset = 84, size = 4
			Float fAnimatedReactionChance; //offset = 88, size = 4
		} params;

		params.Weapon = Weapon;
		params.Impact = Impact;
		params.oPawn = oPawn;
		params.oHitActor = oHitActor;
		params.fExtraDamage = fExtraDamage;
		params.WeaponOwner = WeaponOwner;
		params.fAnimatedReactionChance = fAnimatedReactionChance;

		this->call_function( function, &params, 0 );
	}

	void BioCarnageScript::ApplyPowerEffects( BioPawn* oPawn, SFXWeapon* oWeapon, SFXModule_GameEffectManager* Manager, SFXGameEffect_IncendiaryAmmo* oEffect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioCarnageScript.ApplyPowerEffects" );

		struct ApplyPowerEffectsParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXWeapon* oWeapon; //offset = 4, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 8, size = 4
			SFXGameEffect_IncendiaryAmmo* oEffect; //offset = 12, size = 4
		} params;

		params.oPawn = oPawn;
		params.oWeapon = oWeapon;
		params.Manager = Manager;
		params.oEffect = oEffect;

		this->call_function( function, &params, 0 );
	}

	Bool BioCarnageScript::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, Bool bSuccess, Pawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioCarnageScript.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			Bool bSuccess: 1; //offset = 20, size = 4
			Pawn* oPawn; //offset = 24, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.bSuccess = bSuccess;
		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioCarnageScript::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioCarnageScript.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioCarnageScript::ApplyToSquadMembers()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioCarnageScript.ApplyToSquadMembers" );

		struct ApplyToSquadMembersParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioCarnageScript::InitializePowerScript()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioCarnageScript.InitializePowerScript" );

		this->call_function( function, 0, 0 );
	}

	Bool BioConcussiveShotScript::ShouldUsePower( Actor* Caster, Actor* Target, String sOptionalInfo, BioPawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioConcussiveShotScript.ShouldUsePower" );

		struct ShouldUsePowerParams
		{
			Actor* Caster; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
			String sOptionalInfo; //offset = 8, size = 12
			Bool ReturnValue: 1; //offset = 20, size = 4
			BioPawn* oPawn; //offset = 24, size = 4
		} params;

		params.Caster = Caster;
		params.Target = Target;
		params.sOptionalInfo = sOptionalInfo;
		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioConcussiveShotScript::OnRagdollPhysicsImpact( Pawn* oPawn, Actor* oImpactActor, Vector vImpactDir, BioPawn* oBioPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioConcussiveShotScript.OnRagdollPhysicsImpact" );

		struct OnRagdollPhysicsImpactParams
		{
			Pawn* oPawn; //offset = 0, size = 4
			Actor* oImpactActor; //offset = 4, size = 4
			Vector vImpactDir; //offset = 8, size = 12
			BioPawn* oBioPawn; //offset = 20, size = 4
		} params;

		params.oPawn = oPawn;
		params.oImpactActor = oImpactActor;
		params.vImpactDir = vImpactDir;
		params.oBioPawn = oBioPawn;

		this->call_function( function, &params, 0 );
	}

	Bool BioConcussiveShotScript::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, BioPawn* oPawn, BioPawn* oCasterPawn, Vector vDirection, Vector HitLocation, Vector vMomentum, SFXModule_GameEffectManager* Manager )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioConcussiveShotScript.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			BioPawn* oPawn; //offset = 20, size = 4
			BioPawn* oCasterPawn; //offset = 24, size = 4
			Vector vDirection; //offset = 28, size = 12
			Vector HitLocation; //offset = 40, size = 12
			Vector vMomentum; //offset = 52, size = 12
			SFXModule_GameEffectManager* Manager; //offset = 64, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.oPawn = oPawn;
		params.oCasterPawn = oCasterPawn;
		params.vDirection = vDirection;
		params.HitLocation = HitLocation;
		params.vMomentum = vMomentum;
		params.Manager = Manager;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioConcussiveShotScript::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioConcussiveShotScript.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_DisruptorAmmo::StunRobot( BioPawn* oPawn, Float fStunLength, Int PhysicsLevel, BioVisualEffect* Effect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_DisruptorAmmo.StunRobot" );

		struct StunRobotParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			Float fStunLength; //offset = 4, size = 4
			Int PhysicsLevel; //offset = 8, size = 4
			BioVisualEffect* Effect; //offset = 12, size = 4
		} params;

		params.oPawn = oPawn;
		params.fStunLength = fStunLength;
		params.PhysicsLevel = PhysicsLevel;
		params.Effect = Effect;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_DisruptorAmmo::TurnOnDeathPower( BioPawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_DisruptorAmmo.TurnOnDeathPower" );

		struct TurnOnDeathPowerParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
		} params;

		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );
	}

	Float SFXGameEffect_DisruptorAmmo::GetDamageVocProbabilityMod()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_DisruptorAmmo.GetDamageVocProbabilityMod" );

		struct GetDamageVocProbabilityModParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_DisruptorAmmo::OnWeaponImpact( SFXWeapon* Weapon, ImpactInfo Impact, BioPawn* oPawn, Vector HitLocation, Vector Momentum, Float fDamage, BioPawn* oCasterPawn, Bool bIsRobot, Class* DamageClass, Float fRobotReactionChance, Float fOverheatChance, Float fOverheatLength, Float fPhysLevelResistance )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_DisruptorAmmo.OnWeaponImpact" );

		struct OnWeaponImpactParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
			ImpactInfo Impact; //offset = 4, size = 68
			BioPawn* oPawn; //offset = 72, size = 4
			Vector HitLocation; //offset = 76, size = 12
			Vector Momentum; //offset = 88, size = 12
			Float fDamage; //offset = 100, size = 4
			BioPawn* oCasterPawn; //offset = 104, size = 4
			Bool bIsRobot: 1; //offset = 108, size = 4
			Class* DamageClass; //offset = 112, size = 4
			Float fRobotReactionChance; //offset = 116, size = 4
			Float fOverheatChance; //offset = 120, size = 4
			Float fOverheatLength; //offset = 124, size = 4
			Float fPhysLevelResistance; //offset = 128, size = 4
		} params;

		params.Weapon = Weapon;
		params.Impact = Impact;
		params.oPawn = oPawn;
		params.HitLocation = HitLocation;
		params.Momentum = Momentum;
		params.fDamage = fDamage;
		params.oCasterPawn = oCasterPawn;
		params.bIsRobot = bIsRobot;
		params.DamageClass = DamageClass;
		params.fRobotReactionChance = fRobotReactionChance;
		params.fOverheatChance = fOverheatChance;
		params.fOverheatLength = fOverheatLength;
		params.fPhysLevelResistance = fPhysLevelResistance;

		this->call_function( function, &params, 0 );
	}

	void BioOverloadScript::ApplyPowerEffects( BioPawn* oPawn, SFXWeapon* oWeapon, SFXModule_GameEffectManager* Manager, SFXGameEffect_DisruptorAmmo* oEffect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioOverloadScript.ApplyPowerEffects" );

		struct ApplyPowerEffectsParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXWeapon* oWeapon; //offset = 4, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 8, size = 4
			SFXGameEffect_DisruptorAmmo* oEffect; //offset = 12, size = 4
		} params;

		params.oPawn = oPawn;
		params.oWeapon = oWeapon;
		params.Manager = Manager;
		params.oEffect = oEffect;

		this->call_function( function, &params, 0 );
	}

	Bool BioOverloadScript::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, Bool bSuccess, Pawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioOverloadScript.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			Bool bSuccess: 1; //offset = 20, size = 4
			Pawn* oPawn; //offset = 24, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.bSuccess = bSuccess;
		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioOverloadScript::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioOverloadScript.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioOverloadScript::ApplyToSquadMembers()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioOverloadScript.ApplyToSquadMembers" );

		struct ApplyToSquadMembersParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioOverloadScript::InitializePowerScript()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioOverloadScript.InitializePowerScript" );

		this->call_function( function, 0, 0 );
	}

	Byte BioReactionPowerScript::GetIncreasedReaction( Actor* oTarget, Byte Reaction )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioReactionPowerScript.GetIncreasedReaction" );

		struct GetIncreasedReactionParams
		{
			Actor* oTarget; //offset = 0, size = 4
			Byte Reaction; //offset = 4, size = 1
			Byte ReturnValue; //offset = 5, size = 1
		} params;

		params.oTarget = oTarget;
		params.Reaction = Reaction;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Byte BioReactionPowerScript::GetCombatReaction( Int PowerRank, Actor* oTarget, Bool ReactionStacks, Int TargetPhysicsLevel, Byte Reaction )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioReactionPowerScript.GetCombatReaction" );

		struct GetCombatReactionParams
		{
			Int PowerRank; //offset = 0, size = 4
			Actor* oTarget; //offset = 4, size = 4
			Bool ReactionStacks: 1; //offset = 8, size = 4
			Byte ReturnValue; //offset = 12, size = 1
			Int TargetPhysicsLevel; //offset = 16, size = 4
			Byte Reaction; //offset = 20, size = 1
		} params;

		params.PowerRank = PowerRank;
		params.oTarget = oTarget;
		params.ReactionStacks = ReactionStacks;
		params.TargetPhysicsLevel = TargetPhysicsLevel;
		params.Reaction = Reaction;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool BioPlayerMeleeScript::EndPhase( Byte ePhase, Actor* oCaster )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioPlayerMeleeScript.EndPhase" );

		struct EndPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Bool ReturnValue: 1; //offset = 8, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioPlayerMeleeScript::RemoveMeleeEffects( BioPawn* oPawn, SFXModule_GameEffectManager* Manager )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioPlayerMeleeScript.RemoveMeleeEffects" );

		struct RemoveMeleeEffectsParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 4, size = 4
		} params;

		params.oPawn = oPawn;
		params.Manager = Manager;

		this->call_function( function, &params, 0 );
	}

	Bool BioPlayerMeleeScript::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, Vector vMomentum, Vector HitLocation, BioPlayerController* pController, BioWorldInfo* pWorldInfo, BioPawn* oPawn, BioPawn* oCasterPawn, SFXModule_GameEffectManager* GEModule, Float fDamage, BioPlayerController* oPlayerController, SFXAI_Core* AI, SFXModule_GameEffectManager* TargetGEModule, Int nMaxPhysicsLevel, Bool bIsRobot, Array<Byte> Parts )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioPlayerMeleeScript.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			Vector vMomentum; //offset = 20, size = 12
			Vector HitLocation; //offset = 32, size = 12
			BioPlayerController* pController; //offset = 44, size = 4
			BioWorldInfo* pWorldInfo; //offset = 48, size = 4
			BioPawn* oPawn; //offset = 52, size = 4
			BioPawn* oCasterPawn; //offset = 56, size = 4
			SFXModule_GameEffectManager* GEModule; //offset = 60, size = 4
			Float fDamage; //offset = 64, size = 4
			BioPlayerController* oPlayerController; //offset = 68, size = 4
			SFXAI_Core* AI; //offset = 72, size = 4
			SFXModule_GameEffectManager* TargetGEModule; //offset = 76, size = 4
			Int nMaxPhysicsLevel; //offset = 80, size = 4
			Bool bIsRobot: 1; //offset = 84, size = 4
			Array<Byte> Parts; //offset = 88, size = 12
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.vMomentum = vMomentum;
		params.HitLocation = HitLocation;
		params.pController = pController;
		params.pWorldInfo = pWorldInfo;
		params.oPawn = oPawn;
		params.oCasterPawn = oCasterPawn;
		params.GEModule = GEModule;
		params.fDamage = fDamage;
		params.oPlayerController = oPlayerController;
		params.AI = AI;
		params.TargetGEModule = TargetGEModule;
		params.nMaxPhysicsLevel = nMaxPhysicsLevel;
		params.bIsRobot = bIsRobot;
		params.Parts = Parts;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void BioPlayerMeleeScript::Tick( Float DeltaTime )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioPlayerMeleeScript.Tick" );

		struct TickParams
		{
			Float DeltaTime; //offset = 0, size = 4
		} params;

		params.DeltaTime = DeltaTime;

		this->call_function( function, &params, 0 );
	}

	Bool BioPlayerMeleeScript::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration, BioPlayerController* Controller, Vector EnemyDirection )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.BioPlayerMeleeScript.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
			BioPlayerController* Controller; //offset = 16, size = 4
			Vector EnemyDirection; //offset = 20, size = 12
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;
		params.Controller = Controller;
		params.EnemyDirection = EnemyDirection;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Float SFXGameEffect_CryoAmmo::GetDamageVocProbabilityMod()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_CryoAmmo.GetDamageVocProbabilityMod" );

		struct GetDamageVocProbabilityModParams
		{
			Float ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXGameEffect_CryoAmmo::OnWeaponImpact( SFXWeapon* Weapon, ImpactInfo Impact, BioPawn* oPawn, Actor* oHitActor, BioPawn* WeaponOwner, Float fDamage, SFXModule_GameEffectManager* Manager, SFXGameEffect_DelayedCryoFreeze* FreezeEffect, Float fScaledFreezeChance, Float fScaledFreezeDuration, Float fPhysLevelResistance, Float fDelay )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_CryoAmmo.OnWeaponImpact" );

		struct OnWeaponImpactParams
		{
			SFXWeapon* Weapon; //offset = 0, size = 4
			ImpactInfo Impact; //offset = 4, size = 68
			BioPawn* oPawn; //offset = 72, size = 4
			Actor* oHitActor; //offset = 76, size = 4
			BioPawn* WeaponOwner; //offset = 80, size = 4
			Float fDamage; //offset = 84, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 88, size = 4
			SFXGameEffect_DelayedCryoFreeze* FreezeEffect; //offset = 92, size = 4
			Float fScaledFreezeChance; //offset = 96, size = 4
			Float fScaledFreezeDuration; //offset = 100, size = 4
			Float fPhysLevelResistance; //offset = 104, size = 4
			Float fDelay; //offset = 108, size = 4
		} params;

		params.Weapon = Weapon;
		params.Impact = Impact;
		params.oPawn = oPawn;
		params.oHitActor = oHitActor;
		params.WeaponOwner = WeaponOwner;
		params.fDamage = fDamage;
		params.Manager = Manager;
		params.FreezeEffect = FreezeEffect;
		params.fScaledFreezeChance = fScaledFreezeChance;
		params.fScaledFreezeDuration = fScaledFreezeDuration;
		params.fPhysLevelResistance = fPhysLevelResistance;
		params.fDelay = fDelay;

		this->call_function( function, &params, 0 );
	}

	void SFXPawn_EngineerCombatDrone::PlayDeathVocalization( BioPawn* Killer )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.PlayDeathVocalization" );

		struct PlayDeathVocalizationParams
		{
			BioPawn* Killer; //offset = 0, size = 4
		} params;

		params.Killer = Killer;

		this->call_function( function, &params, 0 );
	}

	void SFXPawn_EngineerCombatDrone::Destroyed( SFXGame* oGame, SFXObjectPool* oPool, Vector DirectionToSprayParticles, Emitter* oEmitter, SFXModule_Damage* DamageModule, SFXAI_Core* oAI )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.Destroyed" );

		struct DestroyedParams
		{
			SFXGame* oGame; //offset = 0, size = 4
			SFXObjectPool* oPool; //offset = 4, size = 4
			Vector DirectionToSprayParticles; //offset = 8, size = 12
			Emitter* oEmitter; //offset = 20, size = 4
			SFXModule_Damage* DamageModule; //offset = 24, size = 4
			SFXAI_Core* oAI; //offset = 28, size = 4
		} params;

		params.oGame = oGame;
		params.oPool = oPool;
		params.DirectionToSprayParticles = DirectionToSprayParticles;
		params.oEmitter = oEmitter;
		params.DamageModule = DamageModule;
		params.oAI = oAI;

		this->call_function( function, &params, 0 );
	}

	Bool SFXPawn_EngineerCombatDrone::Died( Controller* Killer, Class* DamageType, Vector HitLocation )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.Died" );

		struct DiedParams
		{
			Controller* Killer; //offset = 0, size = 4
			Class* DamageType; //offset = 4, size = 4
			Vector HitLocation; //offset = 8, size = 12
			Bool ReturnValue: 1; //offset = 20, size = 4
		} params;

		params.Killer = Killer;
		params.DamageType = DamageType;
		params.HitLocation = HitLocation;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXPawn_EngineerCombatDrone::SetDroneColor2( Vector NewColor )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.SetDroneColor2" );

		struct SetDroneColor2Params
		{
			Vector NewColor; //offset = 0, size = 12
		} params;

		params.NewColor = NewColor;

		this->call_function( function, &params, 0 );
	}

	void SFXPawn_EngineerCombatDrone::SetDroneColor( Vector NewColor )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.SetDroneColor" );

		struct SetDroneColorParams
		{
			Vector NewColor; //offset = 0, size = 12
		} params;

		params.NewColor = NewColor;

		this->call_function( function, &params, 0 );
	}

	void SFXPawn_EngineerCombatDrone::PostBeginPlay()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.PostBeginPlay" );

		this->call_function( function, 0, 0 );
	}

	void SFXPawn_EngineerCombatDrone::OnDroneKilled()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPawn_EngineerCombatDrone.OnDroneKilled" );

		this->call_function( function, 0, 0 );
	}

	void SFXGameEffect_OverheatWeapons::OnRemoved()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_OverheatWeapons.OnRemoved" );

		this->call_function( function, 0, 0 );
	}

	void SFXGameEffect_OverheatWeapons::OverheatWeapon( SFXWeapon* oWeapon, SFXModule_GameEffectManager* Manager )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_OverheatWeapons.OverheatWeapon" );

		struct OverheatWeaponParams
		{
			SFXWeapon* oWeapon; //offset = 0, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 4, size = 4
		} params;

		params.oWeapon = oWeapon;
		params.Manager = Manager;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_OverheatWeapons::OnUpdate( Float DeltaSeconds )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_OverheatWeapons.OnUpdate" );

		struct OnUpdateParams
		{
			Float DeltaSeconds; //offset = 0, size = 4
		} params;

		params.DeltaSeconds = DeltaSeconds;

		this->call_function( function, &params, 0 );
	}

	void SFXGameEffect_OverheatWeapons::OnApplied( SFXGame* oGame, SkeletalMeshComponent* oSkeletalMesh )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXGameEffect_OverheatWeapons.OnApplied" );

		struct OnAppliedParams
		{
			SFXGame* oGame; //offset = 0, size = 4
			SkeletalMeshComponent* oSkeletalMesh; //offset = 4, size = 4
		} params;

		params.oGame = oGame;
		params.oSkeletalMesh = oSkeletalMesh;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_AdrenalineRush::ApplyVFX( Actor* oImpacted, Float fDuration, BioVisualEffect* Effect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_AdrenalineRush.ApplyVFX" );

		struct ApplyVFXParams
		{
			Actor* oImpacted; //offset = 0, size = 4
			Float fDuration; //offset = 4, size = 4
			BioVisualEffect* Effect; //offset = 8, size = 4
		} params;

		params.oImpacted = oImpacted;
		params.fDuration = fDuration;
		params.Effect = Effect;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_AdrenalineRush::OnEffectEnded( Float fCooldown )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_AdrenalineRush.OnEffectEnded" );

		struct OnEffectEndedParams
		{
			Float fCooldown; //offset = 0, size = 4
		} params;

		params.fCooldown = fCooldown;

		this->call_function( function, &params, 0 );
	}

	Bool SFXPowerScript_AdrenalineRush::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, BioPawn* oImpactedPawn, Float fDuration, Float fTimeDilation, Float fWeaponDamageBonus )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_AdrenalineRush.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			BioPawn* oImpactedPawn; //offset = 20, size = 4
			Float fDuration; //offset = 24, size = 4
			Float fTimeDilation; //offset = 28, size = 4
			Float fWeaponDamageBonus; //offset = 32, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.oImpactedPawn = oImpactedPawn;
		params.fDuration = fDuration;
		params.fTimeDilation = fTimeDilation;
		params.fWeaponDamageBonus = fWeaponDamageBonus;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_AdrenalineRush::AdjustCooldown( Float fCoolDownTime )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_AdrenalineRush.AdjustCooldown" );

		struct AdjustCooldownParams
		{
			Float fCoolDownTime; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
		} params;

		params.fCoolDownTime = fCoolDownTime;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_AdrenalineRush::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_AdrenalineRush.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CombatDroneAttack::ShouldUsePower( Actor* Caster, Actor* Target, String sOptionalInfo )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CombatDroneAttack.ShouldUsePower" );

		struct ShouldUsePowerParams
		{
			Actor* Caster; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
			String sOptionalInfo; //offset = 8, size = 12
			Bool ReturnValue: 1; //offset = 20, size = 4
		} params;

		params.Caster = Caster;
		params.Target = Target;
		params.sOptionalInfo = sOptionalInfo;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CombatDroneAttack::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, BioPawn* oPawn, BioPawn* oCasterPawn, BioWorldInfo* pWorldInfo, BioPlayerController* pController, SFXAI_Core* oController )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CombatDroneAttack.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			BioPawn* oPawn; //offset = 20, size = 4
			BioPawn* oCasterPawn; //offset = 24, size = 4
			BioWorldInfo* pWorldInfo; //offset = 28, size = 4
			BioPlayerController* pController; //offset = 32, size = 4
			SFXAI_Core* oController; //offset = 36, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.oPawn = oPawn;
		params.oCasterPawn = oCasterPawn;
		params.pWorldInfo = pWorldInfo;
		params.pController = pController;
		params.oController = oController;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CombatDroneAttack::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CombatDroneAttack.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CombatDroneDeath::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, SFXGame* oGame, SFXObjectPool* oPool, Vector DirectionToSprayParticles, Emitter* oEmitter, SFXPawn_EngineerCombatDrone* CombatDrone )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CombatDroneDeath.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			SFXGame* oGame; //offset = 20, size = 4
			SFXObjectPool* oPool; //offset = 24, size = 4
			Vector DirectionToSprayParticles; //offset = 28, size = 12
			Emitter* oEmitter; //offset = 40, size = 4
			SFXPawn_EngineerCombatDrone* CombatDrone; //offset = 44, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.oGame = oGame;
		params.oPool = oPool;
		params.DirectionToSprayParticles = DirectionToSprayParticles;
		params.oEmitter = oEmitter;
		params.CombatDrone = CombatDrone;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CombatDroneDeath::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CombatDroneDeath.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXProjectile_Power_Seeking::Recycle()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.Recycle" );

		this->call_function( function, 0, 0 );
	}

	void SFXProjectile_Power_Seeking::InitializeRotation( Pawn* oCasterPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.InitializeRotation" );

		struct InitializeRotationParams
		{
			Pawn* oCasterPawn; //offset = 0, size = 4
		} params;

		params.oCasterPawn = oCasterPawn;

		this->call_function( function, &params, 0 );
	}

	Bool SFXProjectile_Power_Seeking::InitializePowerProjectile( Actor* oCaster, Float fTravelSpeed, Float fRadius, BioPower* oPower, Pawn* oCasterPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.InitializePowerProjectile" );

		struct InitializePowerProjectileParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fTravelSpeed; //offset = 4, size = 4
			Float fRadius; //offset = 8, size = 4
			BioPower* oPower; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			Pawn* oCasterPawn; //offset = 20, size = 4
		} params;

		params.oCaster = oCaster;
		params.fTravelSpeed = fTravelSpeed;
		params.fRadius = fRadius;
		params.oPower = oPower;
		params.oCasterPawn = oCasterPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXProjectile_Power_Seeking::CanLockOn( Actor* Target, Pawn* CasterPawn, KActor* oKActor, SFXSelectionModule* Module, BioPawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.CanLockOn" );

		struct CanLockOnParams
		{
			Actor* Target; //offset = 0, size = 4
			Pawn* CasterPawn; //offset = 4, size = 4
			Bool ReturnValue: 1; //offset = 8, size = 4
			KActor* oKActor; //offset = 12, size = 4
			SFXSelectionModule* Module; //offset = 16, size = 4
			BioPawn* oPawn; //offset = 20, size = 4
		} params;

		params.Target = Target;
		params.CasterPawn = CasterPawn;
		params.oKActor = oKActor;
		params.Module = Module;
		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXProjectile_Power_Seeking::Tick( Float DeltaTime, Quat Q, Vector V, Float Dist )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.Tick" );

		struct TickParams
		{
			Float DeltaTime; //offset = 0, size = 4
			Quat Q; //offset = 4, size = 16
			Vector V; //offset = 20, size = 12
			Float Dist; //offset = 32, size = 4
		} params;

		params.DeltaTime = DeltaTime;
		params.Q = Q;
		params.V = V;
		params.Dist = Dist;

		this->call_function( function, &params, 0 );
	}

	Bool SFXProjectile_Power_Seeking::ShouldModifyVelocity()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.ShouldModifyVelocity" );

		struct ShouldModifyVelocityParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Float SFXProjectile_Power_Seeking::ChordLength( Float ChordLen, Float Theta, Float CircleRadius )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.ChordLength" );

		struct ChordLengthParams
		{
			Float ChordLen; //offset = 0, size = 4
			Float Theta; //offset = 4, size = 4
			Float ReturnValue; //offset = 8, size = 4
			Float CircleRadius; //offset = 12, size = 4
		} params;

		params.ChordLen = ChordLen;
		params.Theta = Theta;
		params.CircleRadius = CircleRadius;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Vector SFXProjectile_Power_Seeking::GetAimLocation( Actor* Target, Vector AimLocation, BioPawn* oPawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.GetAimLocation" );

		struct GetAimLocationParams
		{
			Actor* Target; //offset = 0, size = 4
			Vector ReturnValue; //offset = 4, size = 12
			Vector AimLocation; //offset = 16, size = 12
			BioPawn* oPawn; //offset = 28, size = 4
		} params;

		params.Target = Target;
		params.AimLocation = AimLocation;
		params.oPawn = oPawn;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXProjectile_Power_Seeking::AcquireTarget( Actor* Target, Vector V, Float Dist, Float RadsToTarget, Quat Q )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXProjectile_Power_Seeking.AcquireTarget" );

		struct AcquireTargetParams
		{
			Actor* Target; //offset = 0, size = 4
			Vector V; //offset = 4, size = 12
			Float Dist; //offset = 16, size = 4
			Float RadsToTarget; //offset = 20, size = 4
			Quat Q; //offset = 24, size = 16
		} params;

		params.Target = Target;
		params.V = V;
		params.Dist = Dist;
		params.RadsToTarget = RadsToTarget;
		params.Q = Q;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_CryoAmmo::ApplyPowerEffects( BioPawn* oPawn, SFXWeapon* oWeapon, SFXModule_GameEffectManager* Manager, SFXGameEffect_CryoAmmo* oEffect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CryoAmmo.ApplyPowerEffects" );

		struct ApplyPowerEffectsParams
		{
			BioPawn* oPawn; //offset = 0, size = 4
			SFXWeapon* oWeapon; //offset = 4, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 8, size = 4
			SFXGameEffect_CryoAmmo* oEffect; //offset = 12, size = 4
		} params;

		params.oPawn = oPawn;
		params.oWeapon = oWeapon;
		params.Manager = Manager;
		params.oEffect = oEffect;

		this->call_function( function, &params, 0 );
	}

	Bool SFXPowerScript_CryoAmmo::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CryoAmmo.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_CryoAmmo::ApplyToSquadMembers()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CryoAmmo.ApplyToSquadMembers" );

		struct ApplyToSquadMembersParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXPowerScript_CryoAmmo::InitializePowerScript()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_CryoAmmo.InitializePowerScript" );

		this->call_function( function, 0, 0 );
	}

	String SFXPowerScript_FirstAid::GetHUDWheelIconInfo( BioPawn* OwnerPawn, BioEpicPawnBehavior* oBehavior, BioPlayerSquad* oPlayerSquad, Int nCount )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.GetHUDWheelIconInfo" );

		struct GetHUDWheelIconInfoParams
		{
			BioPawn* OwnerPawn; //offset = 0, size = 4
			String ReturnValue; //offset = 4, size = 12
			BioEpicPawnBehavior* oBehavior; //offset = 16, size = 4
			BioPlayerSquad* oPlayerSquad; //offset = 20, size = 4
			Int nCount; //offset = 24, size = 4
		} params;

		params.OwnerPawn = OwnerPawn;
		params.oBehavior = oBehavior;
		params.oPlayerSquad = oPlayerSquad;
		params.nCount = nCount;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_FirstAid::ShouldUsePower( Actor* Caster, Actor* Target, String sOptionalInfo, BioPawn* BioCaster, BioEpicPawnBehavior* oBehavior, BioPawn* BioMember, BioAiController* oController, BioPlayerSquad* oPlayerSquad, Int Index )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.ShouldUsePower" );

		struct ShouldUsePowerParams
		{
			Actor* Caster; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
			String sOptionalInfo; //offset = 8, size = 12
			Bool ReturnValue: 1; //offset = 20, size = 4
			BioPawn* BioCaster; //offset = 24, size = 4
			BioEpicPawnBehavior* oBehavior; //offset = 28, size = 4
			BioPawn* BioMember; //offset = 32, size = 4
			BioAiController* oController; //offset = 36, size = 4
			BioPlayerSquad* oPlayerSquad; //offset = 40, size = 4
			Int Index; //offset = 44, size = 4
		} params;

		params.Caster = Caster;
		params.Target = Target;
		params.sOptionalInfo = sOptionalInfo;
		params.BioCaster = BioCaster;
		params.oBehavior = oBehavior;
		params.BioMember = BioMember;
		params.oController = oController;
		params.oPlayerSquad = oPlayerSquad;
		params.Index = Index;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Int SFXPowerScript_FirstAid::CountMediGel( BioPlayerSquad* oPlayerSquad, SFXInventoryManager* oInventory, Int nCurrentAmount )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.CountMediGel" );

		struct CountMediGelParams
		{
			BioPlayerSquad* oPlayerSquad; //offset = 0, size = 4
			Int ReturnValue; //offset = 4, size = 4
			SFXInventoryManager* oInventory; //offset = 8, size = 4
			Int nCurrentAmount; //offset = 12, size = 4
		} params;

		params.oPlayerSquad = oPlayerSquad;
		params.oInventory = oInventory;
		params.nCurrentAmount = nCurrentAmount;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_FirstAid::OnImpact( Actor* oCaster, Float fCasterStability, Actor* oImpacted, Int nPreviouslyImpacted, BioPawn* BioCaster, BioPawn* BioMember, BioVisualEffect* Effect, Bool bActionTaken, Bool bApplyCrust, Int nHealCount, Int Index )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.OnImpact" );

		struct OnImpactParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Float fCasterStability; //offset = 4, size = 4
			Actor* oImpacted; //offset = 8, size = 4
			Int nPreviouslyImpacted; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
			BioPawn* BioCaster; //offset = 20, size = 4
			BioPawn* BioMember; //offset = 24, size = 4
			BioVisualEffect* Effect; //offset = 28, size = 4
			Bool bActionTaken: 1; //offset = 32, size = 4
			Bool bApplyCrust: 1; //offset = 36, size = 4
			Int nHealCount; //offset = 40, size = 4
			Int Index; //offset = 44, size = 4
		} params;

		params.oCaster = oCaster;
		params.fCasterStability = fCasterStability;
		params.oImpacted = oImpacted;
		params.nPreviouslyImpacted = nPreviouslyImpacted;
		params.BioCaster = BioCaster;
		params.BioMember = BioMember;
		params.Effect = Effect;
		params.bActionTaken = bActionTaken;
		params.bApplyCrust = bApplyCrust;
		params.nHealCount = nHealCount;
		params.Index = Index;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_FirstAid::StartPhase( Byte ePhase, Actor* oCaster, Float fDuration )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.StartPhase" );

		struct StartPhaseParams
		{
			Byte ePhase; //offset = 0, size = 1
			Actor* oCaster; //offset = 4, size = 4
			Float fDuration; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ePhase = ePhase;
		params.oCaster = oCaster;
		params.fDuration = fDuration;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool SFXPowerScript_FirstAid::CanStartPower( Actor* oCaster, String EmptyString )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_FirstAid.CanStartPower" );

		struct CanStartPowerParams
		{
			Actor* oCaster; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
			String EmptyString; //offset = 8, size = 12
		} params;

		params.oCaster = oCaster;
		params.EmptyString = EmptyString;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void SFXPowerScript_PassivePower::RemovePowerBonusEffect( Actor* oTarget, Class* ClassName, Name nmCategory, Class* PowerClass, SFXModule_GameEffectManager* Manager, SFXGameEffect_PowerBonus* Effect, Int nIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.RemovePowerBonusEffect" );

		struct RemovePowerBonusEffectParams
		{
			Actor* oTarget; //offset = 0, size = 4
			Class* ClassName; //offset = 4, size = 4
			Name nmCategory; //offset = 8, size = 8
			Class* PowerClass; //offset = 16, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 20, size = 4
			SFXGameEffect_PowerBonus* Effect; //offset = 24, size = 4
			Int nIndex; //offset = 28, size = 4
		} params;

		params.oTarget = oTarget;
		params.ClassName = ClassName;
		params.nmCategory = nmCategory;
		params.PowerClass = PowerClass;
		params.Manager = Manager;
		params.Effect = Effect;
		params.nIndex = nIndex;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyPowerBonusEffect( Actor* oTarget, Class* ClassName, Float fEffectValue, Name nmCategory, Class* PowerClass, SFXModule_GameEffectManager* Manager, SFXGameEffect_PowerBonus* Effect )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyPowerBonusEffect" );

		struct ApplyPowerBonusEffectParams
		{
			Actor* oTarget; //offset = 0, size = 4
			Class* ClassName; //offset = 4, size = 4
			Float fEffectValue; //offset = 8, size = 4
			Name nmCategory; //offset = 12, size = 8
			Class* PowerClass; //offset = 20, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 24, size = 4
			SFXGameEffect_PowerBonus* Effect; //offset = 28, size = 4
		} params;

		params.oTarget = oTarget;
		params.ClassName = ClassName;
		params.fEffectValue = fEffectValue;
		params.nmCategory = nmCategory;
		params.PowerClass = PowerClass;
		params.Manager = Manager;
		params.Effect = Effect;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyHealthModifier( Float fHealthModifier, Actor* Target )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyHealthModifier" );

		struct ApplyHealthModifierParams
		{
			Float fHealthModifier; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
		} params;

		params.fHealthModifier = fHealthModifier;
		params.Target = Target;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyWeaponDamageModifier( Float fDamageModifier, Actor* Target )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyWeaponDamageModifier" );

		struct ApplyWeaponDamageModifierParams
		{
			Float fDamageModifier; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
		} params;

		params.fDamageModifier = fDamageModifier;
		params.Target = Target;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyPowerCooldownModifier( Float fCooldownModifier, Actor* Target )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyPowerCooldownModifier" );

		struct ApplyPowerCooldownModifierParams
		{
			Float fCooldownModifier; //offset = 0, size = 4
			Actor* Target; //offset = 4, size = 4
		} params;

		params.fCooldownModifier = fCooldownModifier;
		params.Target = Target;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyPassiveBonus( Class* EffectClass, Float fModifier, Actor* Target, SFXModule_GameEffectManager* Manager )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyPassiveBonus" );

		struct ApplyPassiveBonusParams
		{
			Class* EffectClass; //offset = 0, size = 4
			Float fModifier; //offset = 4, size = 4
			Actor* Target; //offset = 8, size = 4
			SFXModule_GameEffectManager* Manager; //offset = 12, size = 4
		} params;

		params.EffectClass = EffectClass;
		params.fModifier = fModifier;
		params.Target = Target;
		params.Manager = Manager;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::ApplyGlobalBonus()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.ApplyGlobalBonus" );

		this->call_function( function, 0, 0 );
	}

	void SFXPowerScript_PassivePower::OnSquadMemberAdded( Pawn* Pawn )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.OnSquadMemberAdded" );

		struct OnSquadMemberAddedParams
		{
			Pawn* Pawn; //offset = 0, size = 4
		} params;

		params.Pawn = Pawn;

		this->call_function( function, &params, 0 );
	}

	void SFXPowerScript_PassivePower::OnPowersLoaded()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.OnPowersLoaded" );

		this->call_function( function, 0, 0 );
	}

	void SFXPowerScript_PassivePower::OnPowerRankIncreased()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.OnPowerRankIncreased" );

		this->call_function( function, 0, 0 );
	}

	void SFXPowerScript_PassivePower::InitializePowerScript()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_PassivePower.InitializePowerScript" );

		this->call_function( function, 0, 0 );
	}

	void SFXPowerScript_SoldierPassive::ApplyGlobalBonus( Float fHealthIncrease, Float fWeaponDamageIncrease, Float fStormTimeDilation, Float fPowerDamageIncrease, Float fPowerDurationIncrease, SFXPower_SoldierPassive* oPassivePower )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function SFXGameContent_Powers.SFXPowerScript_SoldierPassive.ApplyGlobalBonus" );

		struct ApplyGlobalBonusParams
		{
			Float fHealthIncrease; //offset = 0, size = 4
			Float fWeaponDamageIncrease; //offset = 4, size = 4
			Float fStormTimeDilation; //offset = 8, size = 4
			Float fPowerDamageIncrease; //offset = 12, size = 4
			Float fPowerDurationIncrease; //offset = 16, size = 4
			SFXPower_SoldierPassive* oPassivePower; //offset = 20, size = 4
		} params;

		params.fHealthIncrease = fHealthIncrease;
		params.fWeaponDamageIncrease = fWeaponDamageIncrease;
		params.fStormTimeDilation = fStormTimeDilation;
		params.fPowerDamageIncrease = fPowerDamageIncrease;
		params.fPowerDurationIncrease = fPowerDurationIncrease;
		params.oPassivePower = oPassivePower;

		this->call_function( function, &params, 0 );
	}
}
